package com.youkeda.yunmusic.web.control;

import com.youkeda.yunmusic.web.model.Comment;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.*;

@Controller
public class CommentPostControl {

    private static Map<String, List<Comment>> comments = new HashMap<>();


    @RequestMapping(value = "/comment/post")
    public String post(@RequestParam(value = "songId") String songId, Comment comment) {

        Date commentTime = new Date();
        comment.setCommentTime(commentTime);
        comment.setId(UUID.randomUUID().toString());  //生成唯一随机数
        comments.computeIfAbsent(songId, k -> new ArrayList<>()).add(comment);

        List<Comment> commentsList = comments.get(songId);

        Collections.sort(commentsList, new Comparator<Comment>() {
            @Override
            public int compare(Comment o1, Comment o2) {
                if (o1.getCommentTime().after(o2.getCommentTime())) {
                    return -1;
                }
                return 1;
            }
        });

        return "redirect:/songinfo?songId="+songId;
    }

    public List<Comment> getComments(String songId){
        return comments.get(songId);
    }
}
